#include "app_config.h"

#if APP_SELECT_EXAMPLE == 1

#include "polsys.h"


static polsys_task_t mTimer1000ms;

static u32 cnt=0;

static u16 AdcResult[8];
static u16 AdcVoltage[8];

static void mTimer();


// 启动事件，程序启动时执行一次
void App_Load()
{
    Adc_Init();
    Adc_Enable(ADC_CH2_MASK|ADC_CH3_MASK|ADC_CH4_MASK|ADC_CH5_MASK|ADC_CH6_MASK|ADC_CH7_MASK);
    Adc_Enable(ADC_CH0_MASK|ADC_CH1_MASK);  // 可以任意的使能通道，不影响已经使能的通道
    // Adc_Disable(ADC_CH4_MASK|ADC_CH5_MASK);
    Polsys_TaskInit(&mTimer1000ms,mTimer,1000);
}

static void mTimer()
{
    int i;

    cnt++;
    LOG("Polsys Run Time: %d\r\n",cnt);

    for(i=0;i<4;i++)
    {
        AdcResult[i] = Adc_GetFiltResult((adc_ch_t)i, 8); // 获取8次中值滤波结果
        AdcVoltage[i] = AdcResult[i] * Adc_GetVrefVoltage() / Adc_GetFullValue();   // 计算电压
        LOG("[Adc CH%d]Result:%d,%dmV\r\n", i, AdcResult[i], AdcVoltage[i]);
    }
    for(;i<8;i++)
    {
        AdcResult[i] = Adc_GetResult((adc_ch_t)i);    // 获取一次结果
        AdcVoltage[i] = Adc_GetVoltage((adc_ch_t)i, 8);   // 直接获取电压（8次中值滤波）
        LOG("[Adc CH%d]Result:%d,%dmV\r\n", i, AdcResult[i], AdcVoltage[i]);
    }
}





#endif
